package com.company.model;

import com.company.bean.MessageBean;
import com.company.bean.UserInfoBean;
import com.company.db.DBProvide;
import com.company.util.MyUtils;
import org.apache.commons.dbutils.handlers.MapListHandler;

import java.util.List;
import java.util.Map;

public class UserModel {


    /**
     * 用户密码修改
     *
     * @param userInfoBean
     * @return
     */
    public boolean UpdatePsw(UserInfoBean userInfoBean){

        boolean k=false;
        String str1="select * from userinfo where username=? and userpsw=?";
        List<Map<String, Object>> list = MyUtils.getNewInstance(DBProvide.class)
                .query(str1,new MapListHandler(),userInfoBean.getUsername(),userInfoBean.getUserpsw());
        // 先查询判断是否登录成功
        if (list != null && list.size() > 0) {
            // 登录成功
            String strsql="update userinfo set userpsw=? where username=?";
            int flag=MyUtils.getNewInstance(DBProvide.class)
                    .execute(strsql,userInfoBean.getNewuserpsw(),userInfoBean.getUsername());

            if (flag>0)
            {
                k=true;
            }
        }
        return k;
    }

    /**
     * 用户信息查询
     *
     * @param username 查询用户名
     * @param userpsw  查询用户密码
     * @return
     */
    public boolean SelectUser(String username,String userpsw){

        boolean k=false;
        String str1="select * from userinfo where username=? and userpsw=?";
        DBProvide dbProvider = new DBProvide();
        List<Map<String, Object>> list = MyUtils.getNewInstance(DBProvide.class)
                .query(str1,new MapListHandler(),username,userpsw);
        // 判断是否登录成功
        if (list != null && list.size() > 0) {
            k=true;
        }
        return k;
    }

    /**
     * sql语句插入数据
     * 数据库保存控制台插入的数据
     *
     * 用户值新增
     *
     * @param messageBean 参数实体类
     * @return 数据保存成功的记录
     */
    public boolean saveUserInfo(MessageBean messageBean){
        //默认返回值
            boolean i = false;
            String strSql ="insert into message values(?,?,?,?,?,?,?)";

            //调用数据库操作dao层进行数据库的保存处理
            int k = MyUtils.getNewInstance(DBProvide.class).execute(strSql,
                    messageBean.getName(),messageBean.getSex(),
                    messageBean.getAge(), messageBean.getIdcard(),
                    messageBean.getWork(),messageBean.getCountry(),
                    messageBean.getTel()//日期转换成String的数据类型
            );
        if (k>0){
            i = true;
        }
        return  i ;
    }

}
